{
 "cells": [
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-18T13:08:04.535063Z",
     "start_time": "2025-05-18T13:08:03.822857Z"
    }
   },
   "cell_type": "code",
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import pandas as pd\n",
    "import numpy as np"
   ],
   "id": "3bc6786e01fee1f9",
   "outputs": [],
   "execution_count": 1
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": [
    "### 实例(作业1)：\n",
    "数据集路径：..\\\\..\\\\..\\Data\\机器学习-练习1 线性回归\\ex1data1.txt,我们先尝试绘制图像："
   ],
   "id": "917bf00847cf5bf7"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-18T13:08:04.706342Z",
     "start_time": "2025-05-18T13:08:04.694619Z"
    }
   },
   "cell_type": "code",
   "source": "data =  pd.read_csv(\"..\\..\\..\\Data\\机器学习-练习1 线性回归\\ex1data1.txt\",names=['Population', 'Profit'])",
   "id": "6a331bc1920f2350",
   "outputs": [],
   "execution_count": 2
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "#### 输出前五个数据以整体把握数据",
   "id": "c48bd74f3515992c"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-18T13:08:04.755960Z",
     "start_time": "2025-05-18T13:08:04.739799Z"
    }
   },
   "cell_type": "code",
   "source": "data.head()",
   "id": "e40dcaa40689a483",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "   Population   Profit\n",
       "0      6.1101  17.5920\n",
       "1      5.5277   9.1302\n",
       "2      8.5186  13.6620\n",
       "3      7.0032  11.8540\n",
       "4      5.8598   6.8233"
      ],
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Population</th>\n",
       "      <th>Profit</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>6.1101</td>\n",
       "      <td>17.5920</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>5.5277</td>\n",
       "      <td>9.1302</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>8.5186</td>\n",
       "      <td>13.6620</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>7.0032</td>\n",
       "      <td>11.8540</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5.8598</td>\n",
       "      <td>6.8233</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 3
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": [
    "#### 给出数据的基本信息\n",
    "\n",
    "count 非空值数、mean 平均值、std 标准差、max 最大值、min 最小值、（25%、50%、75%）分位数等。"
   ],
   "id": "ce85c2858193869b"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-18T13:08:04.833310Z",
     "start_time": "2025-05-18T13:08:04.818356Z"
    }
   },
   "cell_type": "code",
   "source": "data.describe()",
   "id": "f420385980564c8b",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "       Population     Profit\n",
       "count   97.000000  97.000000\n",
       "mean     8.159800   5.839135\n",
       "std      3.869884   5.510262\n",
       "min      5.026900  -2.680700\n",
       "25%      5.707700   1.986900\n",
       "50%      6.589400   4.562300\n",
       "75%      8.578100   7.046700\n",
       "max     22.203000  24.147000"
      ],
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Population</th>\n",
       "      <th>Profit</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>97.000000</td>\n",
       "      <td>97.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>8.159800</td>\n",
       "      <td>5.839135</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>3.869884</td>\n",
       "      <td>5.510262</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>5.026900</td>\n",
       "      <td>-2.680700</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>5.707700</td>\n",
       "      <td>1.986900</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>6.589400</td>\n",
       "      <td>4.562300</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>8.578100</td>\n",
       "      <td>7.046700</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>22.203000</td>\n",
       "      <td>24.147000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 4
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "#### 绘制数据集的散点图",
   "id": "ad0947b00303f5f"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-18T13:08:05.054620Z",
     "start_time": "2025-05-18T13:08:04.927954Z"
    }
   },
   "cell_type": "code",
   "source": [
    "plt.rcParams['font.family'] = 'SimHei'\n",
    "\n",
    "ax = data.plot(\n",
    "    kind='scatter', x='Population', y='Profit',\n",
    "    c='blue',marker='.',figsize=(12,8)\n",
    ")\n",
    "plt.show()"
   ],
   "id": "d05555ee9b3ade5d",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 1200x800 with 1 Axes>"
      ],
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA98AAAKjCAYAAAAEZLy+AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAOtNJREFUeJzt3X90nnV9P/7Xnd40tEBCy0+BUsLPiVKqWKwScTqMTIro2BQcR2UC1jnK0a1OIp+aZltwnglylHEcKmUccdvZOdo5xpCeCme3pwxhQFsCeAqBFgryw5AUKql3e33/uL6JTZumSXpf98/H45ycK9eV+77zuvNOct3P+/3jyiVJkgQAAACQmaZKFwAAAAD1TvgGAACAjAnfAAAAkDHhGwAAADImfAMAAEDGhG8AAADImPANAAAAGRO+AQAAIGP5ShdQKjt27IjNmzfHQQcdFLlcrtLlAAAAUOeSJIktW7bEUUcdFU1N4/dt10343rx5c8yZM6fSZQAAANBgNm3aFMccc8y4t6mb8H3QQQdFRPqkW1paKlwNAAAA9W5wcDDmzJkzkkfHUzfhe3ioeUtLi/ANAABA2Uxk6rMF1wAAACBjwjcAAABkrCLhe+XKlXH88cdHPp+P+fPnx2OPPRYREUuWLIlcLjfyceKJJ1aiPAAAACipsofvJ598Mi699NL42te+Fs8991ycfPLJcdlll0VExAMPPBB33HFH9Pf3R39/fzz00EPlLg8AAABKLpckSVLOb/if//mfsXnz5rjiiisiIuJnP/tZnHfeeTE4OBiHHHJIPPfcc3HggQdO+nEHBwejtbU1BgYGLLgGAABA5iaTQ8ve871o0aKR4B0R8cQTT8RJJ50U69atix07dsT8+fNjxowZce6558bGjRvLXR4AAACUXEUXXNu2bVt84xvfiMWLF0dvb2+ccsopcdttt8XatWsjn8+PCum7GhoaisHBwVEfAAAAUI3KPux8Z1dffXXceeed8Ytf/CL222+/UV/buHFjtLW1RX9//5jd911dXbF8+fLdjht2DgAAQDlMZth5xcL36tWr4yMf+Ujcd999ceqpp+729TfeeCNmzJgRjz/+eJxyyim7fX1oaCiGhoZG9gcHB2POnDnCNwAAAGVR1XO+IyL6+vri4osvjhtvvHEkeC9dujRuv/32kdusWbMmmpqaYs6cOWM+RnNzc7S0tIz6AAAAgGqUL/c3/M1vfhOLFi2KCy64ID760Y/Ga6+9FhER8+bNi2uuuSaOOOKI2L59e1x55ZXxyU9+MmbOnFnuEgEAAKCkyh6+f/rTn0Zvb2/09vbGzTffPHK8r68vPv7xj8eFF14Y06ZNi0suuSR6enrKXR4AAACUXEUXXCsl1/kGAACgnKp+zjcAAAA0EuEbAAAAMiZ8AwAAQMaEbwAAAMiY8A0AAAAZE74BAAAgY8I3AAAAZEz4BgAAgIwJ3wAAAJAx4RsAAAAyJnwDAABQNYrFiO7uiI6OdFssVrqi0shXugAAAAAY1tMT0dUVkSQRq1alx5Ytq2hJJaHnGwAAgKpRKKTBOyLdFgqVradUhG8AAACqRnt7RC6Xfp7Lpfv1wLBzAAAAqkZnZ7otFNLgPbxf64RvAAAAqkY+Xx9zvHdl2DkAAABkTPgGAACAjAnfAAAAkDHhGwAAADImfAMAAEDGhG8AAADImPANAAAAGRO+AQAAIGPCNwAAAGRM+AYAAICMCd8AAACQMeEbAAAAMiZ8AwAAQMaEbwAAAMiY8A0AAAAZE74BAAAgY8I3AAAAZEz4BgAAgIwJ3wAAAJAx4RsAAAAyJnwDAABAxoRvAAAAyJjwDQAAABkTvgEAACBjwjcAAABkTPgGAABGKRYjursjOjrSbbFY6Yqg9uUrXQAAAFBdenoiuroikiRi1ar02LJlFS0Jap6ebwAAYJRCIQ3eEem2UKhsPVAPhG8AAGCU9vaIXC79PJdL94F9Y9g5AAAwSmdnui0U0uA9vA9MnfANAACMks+b4w2lZtg5AAAAZEz4BgAAgIwJ3wAAAJAx4RsAAAAyJnwDAABAxoRvAAAAyJjwDQAAABkTvgEAACBjwjcAAABkTPgGAACAjAnfAAAAkDHhGwAAADImfAMAAOyiWIzo7o7o6Ei3xWKlK6LW5StdAAAAQLXp6Yno6opIkohVq9Jjy5ZVtCRqnJ5vAACAXRQKafCOSLeFQmXrofYJ3wAAALtob4/I5dLPc7l0H/aFYecAAAC76OxMt4VCGryH92GqhG8AAIBd5PPmeFNahp0DAABAxoRvAAAAyJjwDQAAABkTvgEAACBjwjcAAABkTPgGAACAjAnfAAAAkDHhGwAAADImfAMAAEDGhG8AAADImPANAAAAGRO+AQAAxlEsRnR3R3R0pNtisdIVUYvylS4AAACgmvX0RHR1RSRJxKpV6bFlyypaEjVIzzcAAMA4CoU0eEek20KhsvVQm4RvAACAcbS3R+Ry6ee5XLoPk2XYOQAAwDg6O9NtoZAG7+F9mAzhGwAAYBz5vDne7DvDzgEAACBjwjcAAABkTPgGAACAjAnfAAAAkDHhGwAAADImfAMAAEDGhG8AAADImPANAAAAGRO+AQAAIGPCNwAAAGRM+AYAAICMCd8AAACQsYqE75UrV8bxxx8f+Xw+5s+fH4899lhERKxfvz4WLFgQs2bNiqVLl0aSJJUoDwAAAEqq7OH7ySefjEsvvTS+9rWvxXPPPRcnn3xyXHbZZTE0NBTnn39+nHHGGfHAAw9Eb29vrFixotzlAQAAQMmVPXw/9thj8bWvfS0+9rGPxRFHHBGf+9zn4qGHHoo777wzBgYG4rrrrosTTjghenp64nvf+165ywMAAICSy5f7Gy5atGjU/hNPPBEnnXRSPPLII7Fw4cKYOXNmRETMmzcvent79/g4Q0NDMTQ0NLI/ODiYTcEAAACwjyq64Nq2bdviG9/4RixevDgGBwejra1t5Gu5XC6mTZsW/f39Y9732muvjdbW1pGPOXPmlKtsAAAAmJSKhu+vfvWrccABB8Rll10W+Xw+mpubR319//33j61bt45536uvvjoGBgZGPjZt2lSOkgEAAGDSyj7sfNjq1avjxhtvjPvuuy/222+/mD17dqxfv37UbbZs2RLTp08f8/7Nzc27hXUAAACoRhXp+e7r64uLL744brzxxjj11FMjImLBggWxZs2aUbcZGhqK2bNnV6JEAAAAKJmyh+/f/OY3sWjRorjgggviox/9aLz22mvx2muvxXve854YHByMW265JSIienp64pxzzolp06aVu0QAAAAoqVySJEk5v+HKlSvjIx/5yG7H+/r6Yu3atXHxxRfHjBkzoqmpKe65556RnvG9GRwcjNbW1hgYGIiWlpYSVw0AAACjTSaHlj18780LL7wQDz74YCxcuDAOOeSQCd9P+AYAAKCcJpNDK7bg2p4ceeSRcd5551W6DAAAACiZil5qDAAAABqB8A0AAAAZE74BAAAgY8I3AAAAZEz4BgAAgIwJ3wAAAJAx4RsAAAAyJnwDAABAxoRvAAAAyJjwDQAAABkTvgEAACBjwjcAAABkTPgGAACAjAnfAAAAkDHhGwAAADImfAMAAEDGhG8AAADImPANAAAAGRO+AQAAIGPCNwAAAGRM+AYAAICMCd8AAACQMeEbAAAAMiZ8AwAAQMaEbwAAAMiY8A0AAAAZE74BAAAgY8I3AAAAZEz4BgAAgIwJ3wAAAJAx4RsAAAAyJnwDAABAxoRvAAAAyJjwDQAAABkTvgEAAOpUsRjR3R3R0ZFui8VKV9S48pUuAAAAgGz09ER0dUUkScSqVemxZcsqWlLD0vMNAABQpwqFNHhHpNtCobL1NDLhGwAAoE61t0fkcunnuVy6T2UYdg4AAFCnOjvTbaGQBu/hfcpP+AYAAKhT+bw53tXCsHMAAADImPDNPnP5AgAAgPEZds4+c/kCAACA8en5Zp+5fAEAAMD4hG/2mcsXAAAAjM+wc/aZyxcAAACMT/hmn7l8AQAAwPgMOwcAAICMCd8AAACQMeEbAAAAMiZ8AwAAQMaEbwAAAMiY8A0AAIxSLEZ0d0d0dKTbYrHSFUHtc6kxAABglJ6eiK6uiCSJWLUqPebSsrBv9HwDAACjFApp8I5It4VCZeuBeiB8AwAAo7S3R+Ry6ee5XLoP7BvDzgEAgFE6O9NtoZAG7+F9YOqEbwAAYJR83hxvKDXDzgEAACBjwjcAAABkTPgGAACAjAnfAAAAkDHhGwAAADImfAMAAEDGhG8AAADImPANAAAAGRO+AQAAIGPCNwAAAGRM+AYAAICMCd8AAACQMeEbAAAAMiZ8AwAAQMaEbwAAAMiY8A0AAAAZE74BAAAgY8I3AAAAZEz4BgAAgIwJ3wAAAJAx4RsAAAAyJnwDAABAxoRvAAAAyJjwDQAAABkTvgEAACBjwjcAAABkTPgGAMqiWIzo7o7o6Ei3xWKlKwKA8slXugAAoDH09ER0dUUkScSqVemxZcsqWhIAlI2ebwCgLAqFNHhHpNtCobL1AEA5Cd8AQFm0t0fkcunnuVy6DwCNwrBzAKAsOjvTbaGQBu/hfQBoBMI3AFAW+bw53gA0LsPOAQAAIGPCNwAAAGSsYuH75Zdfjra2tnj66adHji1ZsiRyudzIx4knnlip8gAAAKBkKjLn++WXX45FixaNCt4REQ888EDccccd8e53vzsiIqZNm1aB6gAAAKC0KtLzfdFFF8UnPvGJUceKxWI8+uijcfbZZ8fBBx8cBx98cBx00EGVKA8AAABKqiLh++abb44lS5aMOrZu3brYsWNHzJ8/P2bMmBHnnntubNy4sRLlAQAAQElVJHy3tbXtdqy3tzdOOeWUuO2222Lt2rWRz+fjiiuu2ONjDA0NxeDg4KgPAAAAqEa5JEmSin3zXC76+vriuOOO2+1rGzdujLa2tujv74+Wlpbdvt7V1RXLly/f7fjAwMCYtwcAAIBSGhwcjNbW1gnl0Kq91Njhhx8eO3bsiOeff37Mr1999dUxMDAw8rFp06YyVwgAAAATUzXhe+nSpXH77beP7K9Zsyaamppizpw5Y96+ubk5WlpaRn0AAABANarIpcbGcvrpp8c111wTRxxxRGzfvj2uvPLK+OQnPxkzZ86sdGkAAACwT6omfF9yySXx6KOPxoUXXhjTpk2LSy65JHp6eipdFgBUjWIxoqcnolCIaG+P6OyMyFfNmRwAGE9FF1wrpclMdAeAWtTdHdHVFZEkEblc+vmyZZWuCgAaV10suAYAjFYopME7It0WCpWtBwCYOOEbAGpEe3va4x2RbtvbK1sPADBxZooBQI3o7Ey3O8/5BgBqg/ANADUinzfHGwBqlWHnAAAAkDHhGwAAADImfAMAAEDGhG8AAADImPANAAAAGRO+AQAAIGPCNwAAAGRM+AYAAICMCd8AAACQMeEbAAAAMiZ8AwAAQMaEbwAAAMiY8A0AAAAZE74BAAAgY8I3AAAAZEz4BgAAgIwJ38CYisWI7u6Ijo50WyxWuiIAAKhd+UoXAFSnnp6Irq6IJIlYtSo9tmxZRUsCAICapecbGFOhkAbviHRbKFS2HgAAqGXCNzCm9vaIXC79PJdL94GpM5UDABqbYefAmDo7022hkAbv4X1gakzlAIDGJnwDY8rnBQMoJVM5AKCxGXYOAGVgKgcANDY93wBQBqZyAEBjE74BoAxM5QCAxmbYOQAAAGRM+AYAAICMCd8AAACQMeEbAAAAMiZ8AwAAQMaEbwAAAMiY8A0AAAAZE74BAAAgY8I3AAAAZEz4BgAAgIwJ3wAAAJAx4RsAAAAyJnwDAABAxoRvAAAAyJjwDQAAABkTvgEAACBjwjcAAABkTPgGAACAjAnfAAAAkDHhGwAAADImfAMAAEDGhG8AAADImPAN1IRiMaK7O6KjI90Wi5WuCAAAJi5f6QIAJqKnJ6KrKyJJIlatSo8tW1bRkgAAYML0fAM1oVBIg3dEui0UKlsPUB+MqgGgXPR8A3tVLKY9z4VCRHt7RGdnRL7M/z3a29Me7ySJyOXSfYB9ZVQNAOUifAN7VQ0vTjs70+3ObwAA7CujagAoF+Eb2KtqeHGaz+uNAkrPqBoAykX4puFUwxDqajKRn4cXp0C9MqoGgHJp4MhBo6qGIdTVZCI/Dy9OgXplVA0A5SJ803CqYQh1NZnIz8OLUwAA2DcuNUbDaW9Ph05HGEId4ecBAADloOebhmMI9Wh+HgAAkL1ckgwPOK1tg4OD0draGgMDA9HS0lLpcgAAAKhzk8mhhp0DAABAxkoWvpMkie3bt5fq4QAAAKBuTCl8//mf/3kMDQ2NOrZ69ep485vfXJKiAAAAoJ5MKXx/5zvf2S18v+Utb4lnnnmmJEUBAABAPZnUauf//M//HBHpEPPbb789Zs6cObK/evXqeMc73lH6CgEAAKDGTSp833LLLRERkcvl4gc/+EHk8+ndm5qa4oQTTogf/vCHpa8QAAAAatyULjXW1NQUr776alVd0sulxgAAACinzC819tnPfjaam5unVBwAAAA0mkkNOx920003lboOAAAAqFslu843AAAAMDbhGwAAADI24fA9bdq0GBwcTO/U1BTTpk0b9TF8DAAAABhtwnO+n3rqqZHV2/r6+jIrCAAAAOrNhMP33Llzx/wcAAAAGJ853wAAAJCxCYfvBx98MF566aUsawEAAIC6NOHwfd5558Wvf/3riIg49dRT4/XXX8+sKAAAAKgnEw7fW7ZsiVmzZkVExOOPPx47duzIrCgAAACoJxNecO1973tfnHfeeXHaaadFRMTnPve5mD59+m63+/73v1+66gAAAKAOTDh8/8u//EusWLEiXnnllcjlcjFnzpzYf//9s6wNAAAA6kIuSZJksndqamqKV199deS639VgcHAwWltbY2BgoKrqAgAAoD5NJodO6VJjP/zhD+OAAw6YUnEAAADQaCY87HxnH//4xyMi4v7774+NGzfG3LlzY8GCBSUtDAAAAOrFlML3c889FxdccEH88pe/jKOPPjo2b94cJ598cqxcuTKOOuqoUtcIAAAANW1Kw84/+9nPxjve8Y546aWX4rHHHosXX3wx3v72t8fll19e6voAAACg5k2p57tQKMS6deuiubk5IiKam5vjK1/5SsybN6+kxQEAAEA9mFLP92mnnRa33nrrqGO33nprvPWtby1JUQAAAFBPptTzfdNNN8UHP/jB+MEPfhBtbW3R19cXW7ZsibvuuqvU9QEAAEDNm9J1viMiXn/99fjJT34SmzZtimOPPTYWLVpU0cuPuc43AAAA5TSZHDqlnu+IiAMOOCAuuuiiqd4dAAAAGsaU5nx/5zvfieeff77UtQAAAEBdmlL4vv766+Ohhx7ap2/88ssvR1tbWzz99NMjx9avXx8LFiyIWbNmxdKlS2OKI+IBoOoUixHd3REdHem2WKx0RQBAOU0pfP+///f/4m//9m/jtddem9I3ffnll2PRokWjgvfQ0FCcf/75ccYZZ8QDDzwQvb29sWLFiik9PgBUm56eiK6uiLvvTrc9PZWuCAAopynN+d6wYUNERJx44onxqU99atRCa8uWLdvr/S+66KL4xCc+Ef/7v/87cuzOO++MgYGBuO6662LmzJnR09MTn//85+PSSy+dSokAUFUKhYjhAV1Jku4DAI1jSuH76aefjlNOOSVOOeWUePHFF0eO53K5Cd3/5ptvjra2trjqqqtGjj3yyCOxcOHCmDlzZkREzJs3L3p7e/f4GENDQzE0NDSyPzg4ONmnAQBl094esWpVGrxzuXQfAGgckwrfL7zwQtx7773x/ve/P84666w4/vjjp/RN29radjs2ODg46ngul4tp06ZFf39/zJo1a7fbX3vttbF8+fIpfX8AKLfOznRbKKTBe3gfAGgMEw7fP/3pT+PCCy+Mtra2yOfzsXjx4rjxxhvj05/+dGkKyeejubl51LH9998/tm7dOmb4vvrqq+OLX/ziyP7g4GDMmTOnJLUAQKnl8xETmJkFANSpCS+49qUvfSmuv/76WLt2bfzf//1f/PjHP44vfOELJStk9uzZ8dJLL406tmXLlpg+ffqYt29ubo6WlpZRHwAAAFCNJhy+e3t74/zzzx/Z/8AHPhBvvPFGya73vWDBglizZs3Ifl9fXwwNDcXs2bNL8vgAAABQKRMO39u3bx9ZDG3YjBkzoliiC5WeffbZMTg4GLfccktERPT09MQ555wT06ZNK8njAwAAQKVMeM53kiRx7LHHjlrR/NVXX43TTjstmpp+l+F//etfT62QfD6++93vxsUXXxxLly6NpqamuOeee6b0WAAAAFBNJhy+f/azn5X8myfDFzz9/334wx+OJ598Mh588MFYuHBhHHLIISX/ngAAAFBuuWTXBFyjBgcHo7W1NQYGBiy+BgAAQOYmk0MnPOcbAAAAmBrhGwAAADImfAMAAEDGhG8AAADImPANAAAAGRO+AQAAIGPCNwAAAGRM+AYAAICMCd91pliM6O6O6OhIt8VipSsCAAAgX+kCKK2enoiurogkiVi1Kj22bFlFSwIAAGh4er7rTKGQBu+IdFsoVLYeAMrPKCgAqD56vutMe3va450kEblcug9AYzEKCgCqj/BdZzo7022hkAbv4X0AGodRUABQfYTvOpPP690AaHRGQQFA9RG+AaDOGAUFANVH+AaAOmMUFABUH6udAwAAQMaEbwAAAMiY8A0AAAAZE74BAAAgY8I3AAAAZEz4BgAAgIwJ3wAAAJAx4RsAAAAyJnwDAABAxoRvAAAAyJjwDQAAABkTvgEAACBjwjcAAABkTPgGAACAjAnfAAAAkDHhGwAAADImfANQFYrFiO7uiI6OdFssVroiAIDSyVe6AACIiOjpiejqikiSiFWr0mPLllW0JACAktHzDUBVKBTS4B2RbguFytYDAFBKwjcAVaG9PSKXSz/P5dJ9AIB6Ydg5QJkUi+nQ6kIhDZadnRF5/4VHdHam251/PgAA9cLLPoAyMad5fPm8nwcAUL8MOwcoE3OaAQAal/ANUCbmNAMANC7DzgHKxJxmAIDGJXwD7CTLRdHMaQYAaFzCN8BOLIoGAEAWzPkG2IlF0QAAyILwDbATi6IBAJAFw84BdmJRNAAAsiB8A+zEomgAAGTBsHMAAADImPDNborFiO7uiI6OdFssVroisqbNAQAgW4adsxuXWmo82hwAALKl55vduNRS49HmAACQLeGb3bjUUuPR5gAAkC3DztmNSy01Hm3eeIrFdLrBzm2ed0YAAMhMLkmGB5vWtsHBwWhtbY2BgYFoaWmpdDkAVa27+3fz/HO59HPz/AEAJmcyOdSwc4AGZJ4/AEB5Cd8ADcg8fwCA8jLDj92YCwr1zzx/AIDyEqnYjWs+Uy28EZSdfN7fNQBAORl2zm7MBS2NYjFd1KqjI90Wi9nerx4NvxF0993ptqen0hWVhjYGAGg8+pDYTXt72uM9vAqyuaBTM9URBEYe/E4tvxE0Xq+9NgYAaDzCN7sxF7Q0phocazlwllotvxE0XsDWxgAAjUf4ZjeVmgtab/N7pxocazlwllotvxE0XsDWxgAAjaeGow31pt6G4k41OJYycNb6Gxq1vCjYeAG7lt9UAABgamroZTj1rt6G4k41OJYycNbbGxq1ZLyAXctvKgAAMDXCN1XDUNzSq7c3NGqJgA0AwM6Eb6qGobil5w0NAACoDsI3VUNPYel5QwMAAKqD8A11zBsaAABQHZoqXQAAAADUO+EbAAAAMiZ8AwAAQMaEbwAAAMiY8A0AAAAZE74BAAAgY8I3Va1YjOjujujoSLfFYqUrAgAAmDzX+aaq9fREdHVFJEnEqlXpMdetBgAAao2eb6paoZAG74h0WyhUth4AAICpEL6pau3tEblc+nkul+4DAADUGsPOqWqdnem2UEiD9/A+AABALRG+qWr5vDnepVQspvPod34zI++/AAAAZM7L7jITfqgkC9gBAEBliH1lJvxQSRawAwCAyrDgWpkJP1SSBewAAKAy9HyXWXt72uOdJMIP5WcBOwAAqAzhu8yEH/PeK8kCdgAAUBkiT5kJP+a9AwAAjcecb8qumua9F4sR3d0RHR3ptlisXC2UhjatXdoOAKhner4pu73Ney/nsHS98PVHm9YubQcA1DPhm7L70pci7rkn4pFHIk4/Pd3fWTlfgFdTLzyloU1rl7YDAOqZYeeU3de/nobvX/863X7966O/Xs4X4C69VX+0ae3SdgBAPdPzTVkVixG33jp+uC7n5disPl9/tGnt0nYAQD0Tvimrnp6Ip54afWzXcF3OF+BWn89OpS4pp01rl7YDAOpZ1YXvJUuWxLe+9a2R/RNOOCE2bNhQwYqy0ajXut61l/v443cP116A1weLZwEAwO9UXdx74IEH4o477oh3v/vdERExbdq0CleUjUYNJrsOKf/UpxrjTYdGZPEsAAD4naqKPcViMR599NE4++yz48ADD6x0OZlq1GDSqHM6G3GkQznn7gMAQLWrqpf/69atix07dsT8+fPjueeei/e+973xT//0T3HsscfudtuhoaEYGhoa2R8cHCxnqfusUYNJow4pb8SRDo36RgsAAIylqsJ3b29vnHLKKfGtb30rDj300PjCF74QV1xxRfz3f//3bre99tprY/ny5RWosjQEk8bSiCMdGvWNFgAAGEsuSYYjQfXZuHFjtLW1RX9/f7S0tIz62lg933PmzImBgYHdbgtTUcqh4t3dv+v5zuXSzwVTAACobYODg9Ha2jqhHFpV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AAAyJnwDAABAxoRvAAAAyJjwXUJLliyJXC438nHiiSfu9T733ntvvPnNb45DDz00rrvuujJUSSmsWLFiVFsPf6xYsWLc+82bN2/U7S+77LLyFMykvfzyy9HW1hZPP/30yLH169fHggULYtasWbF06dKY6JIZ//7v/x5z586No446Kn74wx9mVDFTNVZbr1y5Mo4//vjI5/Mxf/78eOyxxyb0WB/+8IdH/Y2fc845GVXNVIzV1lM5d0c4f1e7Xdt6quftCOfuaran/9XO1/VnT21dc+frhJJ517veldxxxx1Jf39/0t/fnwwODo57+xdffDFpaWlJli9fnvzyl79M3v72tyerV68uU7Xsi6GhoZF27u/vTzZt2pQceuihyYYNG/Z4n9dffz2ZOXNm8uKLL47cb+vWrWWsmol66aWXkne+851JRCR9fX1JkiTJG2+8kRx33HHJZz/72WTDhg3Jhz70oeT73//+Xh9r3bp1yfTp05Obb745Wbt2bXLiiScmjz/+eMbPgIkaq603bNiQzJo1K/nXf/3X5IUXXkj+5E/+JHn3u989ocd705velKxbt27kb/y1117LsHomY6y2TpLJn7uTxPm72o3V1lM5byeJc3c129P/aufr+rOntq7F87XwXSK//e1vk5aWlmTLli0Tvs/111+f/N7v/V6yY8eOJEmS5Mc//nHyp3/6p1mVSIb+7u/+Lrn88svHvU2hUEgWLlxYporYF3/wB3+Q3HDDDaNeuP3oRz9KZs2albz++utJkiTJww8/nJx11ll7fayrrroq+eAHPziy/81vfjP5yle+kkndTN5Ybf2Tn/wk+c53vjNym9WrVyczZszY62M9++yzyZFHHplVqeyjsdp6KufuJHH+rnZjtfWuJnLeThLn7mq2p//Vztf1Z09tXYvna8POS2TdunWxY8eOmD9/fsyYMSPOPffc2Lhx47j3eeSRR+J973tf5HK5iIg488wz48EHHyxHuZTQG2+8ETfccEN0dnaOe7v7778/nn322TjssMPi4IMPjs997nMxNDRUpiqZjJtvvjmWLFky6tgjjzwSCxcujJkzZ0ZEOgyxt7d3r4/1yCOPxPvf//6RfX/n1WWstl60aFFcccUVI/tPPPFEnHTSSXt9rPvvvz+2b98exxxzTBxwwAFx0UUXRX9/f8lrZmrGauupnLsjnL+r3VhtvbOJnrcjnLur2Z7+Vztf1589tXUtnq+F7xLp7e2NU045JW677bZYu3Zt5PP5Ub8MYxkcHIy2traR/ZaWlti8eXPWpVJit99+e7zzne+M4447btzbPfHEE9He3h6FQiHuuuuuuPvuu+P6668vT5FMys5/l8N2/XvN5XIxbdq0vf6z9nde3cZq651t27YtvvGNb8TixYv3+liPP/54nH766XHHHXfEfffdF319fXH11VeXqlT20VhtPZVzd4S/62q3t7/riZ63I5y7a8XO/6udr+vbns7LNXO+rkh/ewN45plnkqampmRgYGCPt/nYxz6W3HDDDSP7xWIxyefz5SiPElqwYEFyxx13TPp+t956a3LGGWdkUBGlEjsNWfzSl76UfOELXxj19WOOOSZ59tlnx32MM888M1m5cuXI/oYNG5ITTzyx5LWyb2IPw1O//OUvJ6effnqybdu2ST/mvffemxxyyCElqI5S2lNbJ8nEzt1J4vxdK/bU1lM9byeJc3e12vl/tfN1fdvTeblWztf58kT8xnP44YfHjh074vnnn4+WlpYxbzN79ux46aWXRva3bNkS06dPL1eJlMCGDRtiw4YN8YEPfGDS9z388MPjueeey6AqsjB79uxYv379qGMT+Zv1d167Vq9eHTfeeGPcd999sd9++036/ocffni88sorMTQ0FM3NzRlUSKlN5Nwd4e+6lu3LeTvCubsa7fq/2vm6fu3pvFxL52vDzktk6dKlcfvtt4/sr1mzJpqammLOnDl7vM+CBQtizZo1I/sPPfRQHH300ZnWSWn927/9WyxatGhCf+jvete7YtOmTSP7a9asiblz52ZZHiW0699rX19fDA0NxezZsyd1P3/ntaGvry8uvvjiuPHGG+PUU0+d0H0+/vGPR6FQGNlfs2ZNHHHEEYJ3FZvKuTvC33Utm8x5O8K5u9qN9b/a+bo+7em8XHPn67L0rzeA2267LWlra0tWrVqV3HXXXcnJJ5+cfPrTn06SJEkGBgbGHALx0ksvJfvvv39y9913J9u2bUvOPffc5C/+4i/KXTr74D3veU/yve99b9Sx/v7+pFgs7nbbz3zmM8kf/uEfJvfdd1+yYsWK5IADDkhWrFhRrlKZgthlVeTDDjts5HIll112WbJo0aKR2+6p3R9++OHkgAMOSNauXZts2bIlmT9/fvIP//APZamfidu5rbdu3ZqceuqpyeWXX55s2bJl5GN4Zes9/U//m7/5m+Qd73hH8j//8z/Jj370o+SII45Iurq6yvk0mICd23q8c3eSOH/Xuhhj2PlY5+0kce6uRXv6X71t2zbn6zqzp7auxfO18F1CX/7yl5PW1tZk9uzZyZIlS0auFzd37tzkRz/60Zj3uemmm5L99tsvmTVrVtLW1pa88MILZayYfbF169Zk+vTpyWOPPTbqeEQkDz300G637+/vTz7ykY8kM2bMSObOnZv84z/+Y5kqZap2feG2cuXKZObMmckhhxySHHbYYcmjjz466rZjtXuSJElnZ2cyffr0pKWlJTnjjDNcI7YK7dzWP/7xj5OI2O1j+Ot7+p++bdu25M/+7M+SAw44IDnyyCOT5cuXJ7/97W/L9ySYkF3/rvd07k4S5+9at2tb7+m8PXxb5+7aMt7/aufr+rKntv7mN79Zc+frXJIkSfb964ynr68vHn/88XjPe94TBx54YKXLAcbxwgsvxIMPPhgLFy6MQw45ZML36+3tjeeeey7e+973mkMGdcL5G6qX8zXVSPgGAACAjFlwDQAAADImfAMAAEDGhG8AAADImPANAAAAGRO+AQAAIGPCNwBU0D333BO5XC5yuVzst99+MW/evLjrrrsy/Z5PP/105HK5qn9MAKgnwjcAVFhLS0v09/fHxo0b48orr4wLL7wwNm/eXOmydvP7v//7sWLFijG/duyxx0Z/f395CwKAGiJ8A0CF5XK5OPjgg+NNb3pTXH755dHW1hb33ntvpcualKampjj44IMrXQYAVC3hGwCqTD6fj23btsX69eujvb09Wltb40Mf+lA8++yzERGxYsWKOPPMM+OCCy6I1tbWOPfcc+P555+PiHQY+3HHHTfq8XK5XDz99NN7/b4///nP421ve1vMnDkzzjzzzOjt7Y2IiMWLF0cul4t77703Lr300sjlcrF48eJR993TsPM9PYfhOv/jP/4j5s6dG7Nnz45vf/vbk/1RAUDNEL4BoIrcfffd8fjjj8cZZ5wRHR0d8YEPfCDWrl0bc+bMiQsuuCB27NgRERG/+MUv4l3velc8/PDD0dzcvFsYnqwdO3bEH//xH8cf/dEfxVNPPRVnn312/NVf/VVERFx//fXR398fZ511Vtx4443R398f119//V4f87XXXhv3Obzyyivx93//9/Ff//Vf0d3dHX/5l38Zb7zxxj49DwCoVvlKFwAAjW5gYCAOPvjgeOONN6K5uTm+/e1vx7p16+Kggw6Kr371qxERccMNN8Rhhx0W999/f0REHHPMMfHXf/3XkcvloqurKxYsWBDFYnGf6njooYdi1qxZsXbt2nj11VfjiSeeiIiIGTNmxIwZMyKfz8fMmTMnPLz8Jz/5ybjP4bXXXoubbrop3vKWt8RJJ50UV155ZfzqV7+KuXPn7tPzAIBqpOcbACrsoIMOiocffjiefPLJePXVV+Mzn/lMbNq0Kdra2kZus//++8fRRx8dGzdujIg0fA8P8z766KNj+/bt8corr+z22Fu3bp1QDU1NTXH99dfH0UcfHZ///Oejv78/tm/fvk/Pa2/PYdasWTFv3ryIiJg+fXpERCRJsk/fEwCqlfANABXW1NQUxx13XBx99NEjgfrYY4+Nvr6+kdsMDQ3F5s2bR3qFN27cOBJUN23aFPl8Pg499NDI5XIjw7ojIh588MEJ1XDPPffEd7/73ejt7Y37778/PvOZz4xZ52TC8d6eQ0tLy4QfCwBqnfANAFVo0aJFsWXLlli+fHk888wzsWTJkjjppJNiwYIFERGxefPmuPbaa6Ovry+WL18eF1xwQUybNi2OPvroeP755+OZZ56JrVu3jgz53pstW7ZERMSrr74aP//5z+OLX/zibkH7hBNOiNWrV8fzzz8fq1at2mvP+N6eAwA0EuEbAKrQgQceGHfddVf89Kc/jdNOOy02btwYK1eujKam9NS9cOHCuP/+++Otb31rbNu2bWSl8BNPPDGuuuqqOOuss6K9vT2uuuqqCX2/c889N84999x4+9vfHosXL47LL788Nm/eHL/61a9GbnPNNdfEk08+GXPnzo3FixeP6mGfynMAgEaSS0yuAoCasmLFilixYkXcc889lS4FAJggbz0DAABAxvR8AwAAQMb0fAMAAEDGhG8AAADImPANAAAAGRO+AQAAIGPCNwAAAGRM+AYAAICMCd8AAACQMeEbAAAAMiZ8AwAAQMb+PzBA4Rft/mkBAAAAAElFTkSuQmCC"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 5
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": [
    "现在，选取代价函数为均方误差MSE:\n",
    "\n",
    "$J（θ）= \\frac{1}{n} \\sum_{i=1}^{n} (f_{(w,b)}(x^{(i)}) - \\hat{y}^{(i)})^2$"
   ],
   "id": "2937596a31ddec25"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-18T13:08:05.131099Z",
     "start_time": "2025-05-18T13:08:05.119397Z"
    }
   },
   "cell_type": "code",
   "source": [
    "#求J(θ)\n",
    "def Cost(X, y, theta):\n",
    "    inner = np.power(((X * theta.T) - y), 2)\n",
    "    return np.sum(inner) / (2 * len(X))\n"
   ],
   "id": "815596b0a6153174",
   "outputs": [],
   "execution_count": 6
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "考虑到截距项，我们将X额外向外添加一列，并且将其值设为all one。",
   "id": "3a448a98653bdd64"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-18T13:08:05.210001Z",
     "start_time": "2025-05-18T13:08:05.182217Z"
    }
   },
   "cell_type": "code",
   "source": [
    "data.insert(0,\"Ones\", 1, allow_duplicates=True)\n",
    "data.head()"
   ],
   "id": "730e41314ec41948",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "   Ones  Population   Profit\n",
       "0     1      6.1101  17.5920\n",
       "1     1      5.5277   9.1302\n",
       "2     1      8.5186  13.6620\n",
       "3     1      7.0032  11.8540\n",
       "4     1      5.8598   6.8233"
      ],
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Ones</th>\n",
       "      <th>Population</th>\n",
       "      <th>Profit</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>6.1101</td>\n",
       "      <td>17.5920</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>5.5277</td>\n",
       "      <td>9.1302</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>8.5186</td>\n",
       "      <td>13.6620</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>7.0032</td>\n",
       "      <td>11.8540</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1</td>\n",
       "      <td>5.8598</td>\n",
       "      <td>6.8233</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 7
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "初始化训练的数据",
   "id": "a3652e6fffcb30d2"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-18T13:08:05.333552Z",
     "start_time": "2025-05-18T13:08:05.323039Z"
    }
   },
   "cell_type": "code",
   "source": [
    "cols = data.shape[1] #shape用于读取矩阵的长度，shape[0]读取第一维，这相当于行数\n",
    "\n",
    "X = data.iloc[:, 0 : cols - 1]\n",
    "y = data.iloc[:,-1]\n",
    "X.head()"
   ],
   "id": "f1a649b47f5b6a90",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "   Ones  Population\n",
       "0     1      6.1101\n",
       "1     1      5.5277\n",
       "2     1      8.5186\n",
       "3     1      7.0032\n",
       "4     1      5.8598"
      ],
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Ones</th>\n",
       "      <th>Population</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>6.1101</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>5.5277</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>8.5186</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>7.0032</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1</td>\n",
       "      <td>5.8598</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 8
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-18T13:08:05.473226Z",
     "start_time": "2025-05-18T13:08:05.461294Z"
    }
   },
   "cell_type": "code",
   "source": "y.head()",
   "id": "c0ac2bd63f698129",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    17.5920\n",
       "1     9.1302\n",
       "2    13.6620\n",
       "3    11.8540\n",
       "4     6.8233\n",
       "Name: Profit, dtype: float64"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 9
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-18T13:08:05.644319Z",
     "start_time": "2025-05-18T13:08:05.631413Z"
    }
   },
   "cell_type": "code",
   "source": [
    "X = np.matrix(X.values)\n",
    "y = np.matrix(y.values).T\n",
    "theta = np.matrix(np.array([0,0]))"
   ],
   "id": "f9ce432fc3dd7ebc",
   "outputs": [],
   "execution_count": 10
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-18T13:08:05.845079Z",
     "start_time": "2025-05-18T13:08:05.839030Z"
    }
   },
   "cell_type": "code",
   "source": "X.shape,theta.shape,y.shape",
   "id": "5c3832cc2ce4c1ba",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "((97, 2), (1, 2), (97, 1))"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 11
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-18T13:08:10.839421Z",
     "start_time": "2025-05-18T13:08:10.826171Z"
    }
   },
   "cell_type": "code",
   "source": "Cost(X, y, theta)",
   "id": "54ba425cad21db47",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "np.float64(32.072733877455676)"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 13
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": [
    "## 实现批量梯度下降\n",
    "使用梯度下降算法来求出代价函数${{J}({\\theta}_{0},{\\theta}_{1})} $的最小值,\n",
    "批量梯度下降算法的公式如下：\n",
    "$$ {{\\theta }_{j}}:={{\\theta }_{j}}-\\alpha \\frac{\\partial }{\\partial {{\\theta }_{j}}}J\\left( \\theta  \\right)(for\\ j=0\\ and\\ j=1) $$"
   ],
   "id": "f85a0088bb1e0797"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-18T13:21:32.365987Z",
     "start_time": "2025-05-18T13:21:32.353480Z"
    }
   },
   "cell_type": "code",
   "source": [
    "def gradientDescent(X, y, theta, alpha, iters):\n",
    "    temp = np.matrix(np.zeros(theta.shape))\n",
    "    parameters = int(theta.ravel().shape[1])\n",
    "    cost = np.zeros(iters)\n",
    "    for i in range(iters):\n",
    "        error = X * theta.T - y\n",
    "        for j in range(parameters):\n",
    "            term = np.multiply(error, X[:, j])\n",
    "            temp[0,j] = theta[0,j] -  ((alpha / len(X)) * np.sum(term))\n",
    "        theta = temp\n",
    "        cost[i] = Cost(X, y, theta)\n",
    "    return theta, cost"
   ],
   "id": "4cfcb7719527fc73",
   "outputs": [],
   "execution_count": 15
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-18T13:21:55.808875Z",
     "start_time": "2025-05-18T13:21:55.749677Z"
    }
   },
   "cell_type": "code",
   "source": [
    "alpha = 0.01\n",
    "iters = 1000\n",
    "g, cost = gradientDescent(X, y, theta, alpha, iters)\n",
    "g"
   ],
   "id": "54612f07e832f331",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "matrix([[-3.24140214,  1.1272942 ]])"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 19
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-18T13:22:28.398921Z",
     "start_time": "2025-05-18T13:22:28.386371Z"
    }
   },
   "cell_type": "code",
   "source": "Cost(X, y, g)",
   "id": "dcd2d83426c2849",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "np.float64(4.515955503078914)"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 22
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-18T13:22:30.211067Z",
     "start_time": "2025-05-18T13:22:30.097386Z"
    }
   },
   "cell_type": "code",
   "source": [
    "x = np.linspace(data.Population.min(), data.Population.max(), 100)\n",
    "f = g[0, 0] + (g[0, 1] * x)\n",
    "\n",
    "fig, ax = plt.subplots(figsize=(12,8))\n",
    "ax.plot(x, f, 'r', label='Prediction')\n",
    "ax.scatter(data.Population, data.Profit, label='Traning Data')\n",
    "ax.legend(loc=2)\n",
    "ax.set_xlabel('Population')\n",
    "ax.set_ylabel('Profit')\n",
    "ax.set_title('Predicted Profit vs. Population Size')\n",
    "plt.show()"
   ],
   "id": "d82355f5a0501c8",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 1200x800 with 1 Axes>"
      ],
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA98AAAK3CAYAAACcI/wzAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAmiNJREFUeJzs3Xl4lNXZx/HvJCxhDYtCIrIEBDQgIgqKWncUF9ytYhGXuqGi4g60Rd4WEBV3xbViRbHaahUX1KqoKBYVETGuGEEhiLIkCIQled4/HhMJJJCEJM8k+X6ui6vNmWdm7swEyW/OOfeJBUEQIEmSJEmSKk1C1AVIkiRJklTTGb4lSZIkSapkhm9JkiRJkiqZ4VuSJEmSpEpm+JYkSZIkqZIZviVJkiRJqmSGb0mSJEmSKpnhW5IkSZKkSmb4liRJkiSpkhm+Jaka+u6774jFYoV/mjRpwoEHHsgHH3xQJc/73XffFRmfNGkSHTp0qNTnLouzzz6bs88+u9TXb/paNmjQgN69ezNt2rRKqS0nJ4fTTjuNpk2b0rhxY/7v//6vyO0lvcY1xaRJk4q83q1ateK0004jKysrknpuuOEGDj744Gr/HFvz3//+l7322osGDRrQpUsX/vWvfxV7XYcOHZg0aVLVFidJtYjhW5KqsTFjxvDBBx/w9NNPs8MOO3DwwQezcOHCKq9jwIABTJ06tdz3nzNnDrfffnvFFVQOl156KR988AFTp06lV69eHHPMMZXyYcaYMWP4/PPPmTp1Ks8++yy77bZbkdt32mknPvjgA3baaadi7z99+vQaEZCmTZvG//73P+6++26++OILjj76aPLy8qIuq8xK835ccMEF3H///VVT0GY+/fRTjjnmGI499lhefvll9t13XwYOHMg333yzxbVTp05lwIABEVQpSbWD4VuSqrGOHTuy9957079/f5588kkaNWrEQw89VOV1tGzZkt13373c94+H8N2mTRv23ntvDj/8cO6//35233137rrrrgp/ntmzZ3P88cdz0EEH0a9fP0499dQit9erV4+9996bevXqFXv/mhK+99hjD/r06cPvf/97Hn30UebMmcNbb70VdVllVpr3Y6eddqJr165VU9Bm/vGPf9C1a1dGjx7NwQcfzEMPPUTTpk2ZPHnyFtfuvvvutGzZMoIqJal2qBN1AZKkilGvXj06duzI/Pnzoy6lRth1110r5bXcsGEDiYmJFf641dmuu+4KwPz58zn00EMjrqZmWbZsGStWrGDDhg3UrVuXevXq8dprr9G0adOoS5OkWseZb0mqQZYsWUJqamrh1wV7OGfMmMEhhxxC9+7di1y/YMECTjzxRJo0acLOO+/MyJEj2bhxY+HtS5cu5YQTTqBBgwZ07tyZN954o9jn3dqe7/fee499992XBg0asMsuu3DnnXcW3nb22WcTi8U455xzWLBgQeE+4BtuuKHIY0ycOJFddtmFRo0accABB/Dxxx8Xuf3RRx+lffv2NGzYkHPOOYf169eX5uXaqqysrCKv5cEHH8wNN9zAZ599xoABA2jWrFmR61etWsX5559Ps2bNaN68ORdccAG//PJL4e0F39tbb73F6NGjC7/efG93SXu+Dz74YGKxGKNHj+att94qvH9ZZsEPPvhgLrzwwiJj1157LXvvvXeR7/vkk0+mZcuWNG/enIEDB7JixYpSP0d5FOz3Lni9gyDg5ptvpm3btjRo0ID+/fvz9ddfF/k+zjzzTE488UQaNmxI9+7def755wtvL+7ncfr06cRisTLV9fjjj5Oenk7Dhg3ZddddmTJlSpEaSvt+bG3P90svvUSPHj2oX78+e+yxR5FeAwXfx5dffsmBBx5Iw4YN6dGjBx9++GGpv4djjz2WH374gaOOOoq5c+cC0KtXL3bZZZctri1pz3eHDh2K7NOPxWJbvL7b+jsqSTJ8S1KN8PPPPzN69GgWLly4xTLm9957jxNOOIHevXtz7bXXFo6vX7+eI444gmXLlvHss88yZswY7rjjDkaPHl14zeDBg/noo4+YPHkyo0aNKnL/0vjkk0847LDDSEtL46WXXmLo0KFcddVVhb/g33DDDXzwwQeMGjWK1NRUPvjgAz744AMuuOCCwsd49NFHufzyy7n00kt56aWX2GGHHTj00ENZtmwZADNnzuTss8/m2GOPZerUqaxevZqnn366rC9hoezsbB588EHeeecdTjvttCK3zZ8/n0MOOYR27drxt7/9rXA8CAKOO+44pk2bxgMPPMD999/Pyy+/zAknnFB4TcH31qtXL84///zCr0va2725+++/nw8++IDzzz+fXr16Fd6/LHt0TzvtNF588cUiYy+88AKnn3564ddDhgxhzpw5TJ48mUceeYTZs2czfPjwUj9HWeTn55OZmcmwYcNISUnhwAMPBGD06NH8+c9/5oorruC5555jzZo1HHjggfz000+F93388cdp3rw5U6dOZd999+XEE09kzpw5FVbbjBkzOPPMMzn55JN59dVXGThwIIMHD+bbb78FKub9eOONNxgwYAD77bcfL730En379uXYY49l+vTphdf88ssv9O/fn/79+/Pcc88BcNFFF5X6OU466SRuueUWZsyYwR577MGpp55a5r4QU6dOLfz+XnvtNZKTkznkkEMKb9/W31FJ0q8CSVK1k5mZGQBF/jRt2jR46KGHilzXvn37oF69esH//ve/LR5j0qRJQd26dYMff/yxcGzYsGFBu3btgiAIgs8//zwAgqeeeqrw9jvuuCMAgszMzCKP9cgjjwTt27ff4jn+8Ic/BF26dAk2btxYODZy5MhgwoQJpbp/EARBhw4dgssuu6zw6+XLlweJiYnB3//+9yAIguC0004LunXrVnh7bm5ukJKSEpx11lnFPl5xNn8t69evH/z1r38tcs1BBx0UAMGzzz67xf3feOONAAhef/31LcamT5++xeOMGjWqxFoK3tvNX+MCo0aNCg466KDSfmtFLF26NEhMTAxmz54dBEEQzJ8/P4jFYsGCBQsKr+nRo0cwcODAwq/nzZsXvPvuu+V6vuI88sgjW7zeu+yyS/Dee+8FQRAEq1evDho0aBD8+c9/LrzP8uXLg2bNmgU33HBDEATha7jLLrsEeXl5QRAEQV5eXtChQ4fgvPPOK3yOzX+e3nzzzaC4X3tKej0//vjjYNKkSYVfL168OEhMTAz++c9/lur+pbnmwAMPDH73u99tMXbwwQcXfh9Akb8vTz31VFCnTp2tPl9xFi1aFFxyySVBvXr1gtatWwdffvnlFte0b98+eOSRR0p8jLy8vODoo48OevbsGaxZs6ZwfFt/RyVJIfd8S1I1duONN3LkkUfSpEkT0tLSSEjYckHTH//4R/r06bPF+Ny5c9mwYQOtW7fe4rb169fz1VdfAbDPPvsUjhfMTJbW7Nmz6du3b5E9zpvOGG/LqlWr+O6777jzzjuLLFcHCpchf/XVV0W+v/r16xepubQuu+wyzjnnHBo0aEDHjh2pW7fuFtccddRRRWazC3z44YckJiYWeX0OPPBA6tatywcffMBBBx1U5noqw4477sihhx7KCy+8wJ577skLL7xA3759adeuXeE1F110EZdeeimLFi2ib9++HHnkkUVmOSvKf//7X1q2bMmOO+5ImzZtCsc/++wz1q5dW2Tvd/PmzQtnlwv07du38Oc9ISGBvfbaq9gO3gXy8/PLVF/Pnj3Jyclh6NChzJgxg3nz5pGfn8+aNWvK9Dhb8+GHH3LNNdcUGTv88MMZP3584dcJCQkMGTKk8Osdd9yxyNaQ0tppp524++67GTx4MIcddhhXXXVVmU8ouOGGG3j//ff56KOPaNCgAVC6v6OSpJDhW5Kqsfbt29OzZ8+tXlNc8C6w8847F/sLeJ06dQrDyqbBuayNwoIg2GJswYIF/Pjjj1uta/P7/+1vf+OYY44pclurVq2AMFRtXld5GpqlpqaW+7Us7vsszW1ROP3007n//vv585//zAsvvLDF0vohQ4ZwyCGH8NprrzF9+nRuueUWLr/8ciZMmFChdXTr1o2UlJQtxkv7Wm5+XX5+frEfPhX4/vvvy1Tf3XffzZVXXsl5553HddddR9++fSv8Q5SSvtdNx3faaafCoFsee+21F1dccQVnnnkmEP4Mn3322Tz77LNlepznnnuOcePG8dJLLxXZ712av6OSpJB7viWplurevTtLly5l5513pmfPnvTs2ZPly5dz6623snHjxsKGTJs2d3r33XfL9Bx77rknM2fOLHJ+81/+8pciM3kASUlJxc7mNW3alHbt2rFs2bLCGnv27MlDDz3EjBkzANhll12K1LhhwwZmzZpVpjq3V+/evcnLy+Odd94pHJsxYwYbNmygd+/eFfpcJb1WpXXiiScyd+5c5s+fz4wZM4r0CFizZg1XXHEFycnJDB06lH//+99cd911VXp8Xbdu3WjQoAFvvvlm4djKlSuZPXt2kddyxowZhT9X+fn5fPjhh3Tu3BkIPzzafIb6qaeeKlMdDz/8MAMHDuTee+/l9NNPp2HDhixfvnyL67bn/ejdu3eR7xPCfeCbfp/b2xk/Jydni0aJP//8M+3bty/1Y3z55ZcMHjyYMWPG0K9fvyK3lebvqCQp5My3JNVSZ5xxBmPHjuXEE09kxIgRrF+/nmHDhtG9e3fq1atH9+7dOeigg7jiiivIz89n7dq1/PnPfy7Tc1xzzTX07duXQYMGccEFFzBv3jyefPLJLc7P3muvvfjxxx95+OGH2XXXXXn33Xe5+uqrSUhIYNSoUVx88cWkpqay77778uyzz3L//fcXzuRdcsklHHrooQwbNowBAwbw97//nUWLFlXY61QaBx98MAcffDBnn302t9xyCwBXX301hx12WIldrstrn3324f/+7/945pln2GGHHfj444+5/PLLS33/5s2bc/jhhzN06FD22WefIh3dGzZsyIsvvsiiRYsYMmQIGzdu5OWXX6Zjx46F13z33XesWbOG9PT0Cv2+CjRq1Ihrr72W8ePH06xZM7p168bYsWNJSkrikksuKbzuhx9+4Nxzz2Xw4MFMnjyZRYsWcemllwLQo0cPfvrpJ/7zn/9w1FFHceutt5apQzjADjvswMyZM3n99ddZsmQJf/3rX1m1atUWQXt73o+//OUvHHHEEVx88cWccsop/Otf/+Kdd97hv//9b5lq3ZqLLrqI6667js6dO3PAAQfw7rvv8vTTTxd7zndx1q5dy4knnkjnzp059NBDi7yOPXr0oF69etv8OypJ+lVUm80lSeVX0JRrypQpW71uWw2Uvv322+C4444LGjVqFOywww7B+eefH6xcubLw9h9//DE4+eSTg6ZNmwbt2rULbr/99jI1XAuCIHj77beDPn36BPXr1w+6dOkS3HPPPcVe9/DDDwdt27YN6tSpE3Tr1q2wmVYQBMFdd90VdOzYMUhKSgr23HPP4IUXXihy38ceeyzo0qVL0KBBg+Dkk08OTjnllDI3XBs3btxWr9lWo7ScnJzgvPPOC5KTk4Pk5OTg/PPPD1atWlXmx9lWw7UgCIK//e1vQevWrYO6desGRxxxxFbrLs5jjz0WAMF99923xW0ZGRnBMcccE7Ro0SJo3LhxcNhhhwUZGRmFt5911lnBHnvsUebnLFDQRCwrK6vEa/Lz84Px48cHbdq0CerXrx8cccQRwVdffVV4+0EHHRScc845wamnnhokJSUFHTt23KIR2tixY4Mdd9wxaNGiRTB48ODgP//5T5karn3++efBAQccECQlJQXt2rULbr755mDvvfcu9udqW+/H1pqyvfjii8Huu+8e1K1bN9h9992Dl19+ufC2sjSOK0leXl4wYcKEoEuXLkHDhg2D7t27F2kkt6ni/ntRXHPHgj+b/oxu6++oJCkIYkEQZ5vRJEmStuLggw+me/fu3H333VGXIklSqbnnW5IkSZKkSubMtyRJkiRJlcyZb0mSJEmSKpnhW5IkSZKkSmb4liRJkiSpkhm+JUmSJEmqZHWiLqCi5Ofns3jxYpo0aUIsFou6HEmSJElSDRcEAatWrWKnnXYiIWHrc9s1JnwvXryYtm3bRl2GJEmSJKmW+f7779l55523ek2NCd9NmjQBwm+6adOmEVcjSZIkSarpcnJyaNu2bWEe3ZoaE74Llpo3bdrU8C1JkiRJqjKl2fpswzVJkiRJkiqZ4VuSJEmSpEpm+JYkSZIkqZJFsuf7ueeeY9iwYSxcuJDu3bszZcoUdtttNy677DLuuuuuwus6derEN998U2HPGwQBGzduJC8vr8IeU9VTYmIiderU8Vg6SZIkSVWiysP3/PnzOeecc7jvvvs46KCDGDp0KOeddx7vvvsuH374IS+++CL77bcfEAakirJ+/XqysrJYs2ZNhT2mqreGDRuSmppKvXr1oi5FkiRJUg0XC4IgqMonfOGFF1i8eDEXXHABAG+++SbHHHMMOTk5tGzZkkWLFtG4ceMyP25OTg7JyclkZ2dv0e08Pz+fr7/+msTERHbccUfq1avnjGctFgQB69ev56effiIvL4/OnTuTkOAODEmSJElls7Ucurkqn/k+9thji3z95Zdf0rlzZz799FPy8/Pp2bMnixYt4qCDDuKBBx6gXbt2xT7OunXrWLduXeHXOTk5JT7n+vXryc/Pp23btjRs2LBivhFVaw0aNKBu3bosWLCA9evXk5SUFHVJkiRJkmqwSKf71q9fz4QJE7jooovIyMiga9euPPbYY8ydO5c6deoUzo4XZ9y4cSQnJxf+adu27Tafz9lNbcqfB0mSJElVpcqXnW9q+PDhvPzyy3zwwQfUrVu3yG0LFy4kLS2NFStWFDt9X9zMd9u2bYud7s/NzSUzM5O0tDRnOFXInwtJkiRJ2yOul50XeOONN7jnnnt4//33twjeAK1atSI/P5+srKxiv4n69etTv379qihVkiRJkqTtEsm628zMTAYOHMg999xDeno6ANdccw1PPPFE4TUzZ84kISGhVMvJa6rp06cTi8WIxWLUrVuXHj168Morr1To43fo0GGbY5XxPJIkSZJUm1T5zPfatWs59thjOf744znxxBP55ZdfAOjRowd/+tOfaN26NXl5eQwdOpTBgwfX+gZpTZs2ZcGCBaxdu5YXXniBk08+ma+++oqddtqpUp7vgAMOYO7cuWW+X4cOHZg0aRIHH3xwhT2mJEmSJNUUVR6+X331VTIyMsjIyODBBx8sHM/MzOS0007j5JNPJjExkUGDBjF27NjKKyQIIKozvxs2hFIedRaLxWjWrBnNmjXj/PPP58477+Stt95i4MCBlVJanTp1trlXIR4eU5IkSZKqkypfdn788ccTBMEWfzp06MC4ceNYuXIly5Yt44477qBRo0aVV8iaNdC4cTR/tiP016lTh/Xr13P22Wdzww03MHnyZLp27crEiRMLr/nggw/YZ599SE5O5qSTTiI7O7vwtoceeoidd96ZnXfemVdffXWLxy9pifjrr79Ojx49aNKkCUcddRQ//PADAP379ycWi7FgwQIOOeQQYrEYN954Y6ke8+2336Znz540b96cM844g5UrVwIUzqA/+OCDtG7dmtatW/PMM8+U49WSJEmSpPjgWUvVyGuvvcYXX3zB/vvvD8Arr7zC3XffzS233MJxxx0HwMqVKznqqKM46qijmDt3Ljk5OVx11VUAfPLJJ1x66aXcc889vPzyyzz55JOlet7MzEwGDBjAFVdcQUZGBk2bNuXSSy8F4N///jcrVqygbdu2TJ06lRUrVjBs2LBtPub333/P0UcfzSWXXMJHH33EL7/8wtlnn114+7x583jmmWd49913Oeecc7jiiivK8EpJkiRJUnyJrNt55Bo2hF/3m0fy3KWUnZ1Ns2bNyM3NpX79+tx9993ssssuAMyfP5+vv/6a5OTkwutffPFF6taty6hRo4jFYlx99dUMHjwYgP/85z8cfvjhHH/88QBcffXV3HTTTdusYcqUKfzud7/j3HPPBWDChAnMmTMHoHB1QkJCAo0bN6ZZs2al+r4mT57Mfvvtx/nnnw/AxIkT2XnnnVmyZAkAq1ev5tFHH6VVq1ace+65jB8/vlSPK0mSJEnxqPaG71gMKnNZewVp0qQJc+bMoW7duuy0007ENtkrftZZZxUJ3gA//PADP/30E82bNwcgPz+fVatWkZubS1ZWFu3atSu8tlOnTqWq4fvvv6djx46FXxcsW98emz9mmzZtqF+/PgsXLgRgt912o1WrVgDUq1dvu55LkiRJkqLmsvM4l5CQQIcOHWjTpk2R4A0Uuyd+5513Zq+99mLOnDnMmTOHTz75hI8//pi6devSqlUrFi9eXHhtQdDdlrZt2/Ldd98Vfv3VV1+x5557kp+fX6TOIAhK/X21a9eOb7/9tvDrxYsXs27dOtq3bw9ggzZJkiRJNYrhu4Y55phjWLhwIbNmzaJBgwb861//on///gRBwIABA3jllVd46aWX+Oyzz7j55ptL9ZgDBw7k7bffZtKkSXz//ff87W9/o1WrViQk/Pbj06lTJ1599VWysrJ4/fXXt/mYf/jDH3jvvfd48MEHyczMZMiQIZxwwgm0bt263N+7JEmSJMUrw3cN06xZM55//nkmTJhAx44defrpp3n++eepU6cOvXv35pZbbuG8887j6KOP5qijjirVY6alpfHcc89x66230q1bN1auXMkjjzxS5Jqbb76ZF198kXbt2nHDDTds8zHbtm3Liy++yD333MOee+5Jw4YNt3hMSZIkSaopYkFZ1grHsZycHJKTk8nOzt5iyXJubi6ZmZmkpaWRlJQUUYWKN/5cSJIkSfEnLz9gVuZylq7KpVWTJPqktSAxIbbtO0Zgazl0c7W34ZokSZIkKa5Mm5fF6KkZZGXnFo6lJicxakA6/bunRljZ9nPZuSRJkiQpctPmZTFk8uwiwRtgSXYuQybPZtq8rIgqqxiGb0mSJElSpPLyA0ZPzaC4PdEFY6OnZpCXX313TRu+JUmSJEmRmpW5fIsZ700FQFZ2LrMyl1ddURXM8C1JkiRJitTSVSUH7/JcF48M35IkSZKkSLVqUrrTh0p7XTwyfEuSJEmSItUnrQWpyUmUdKBYjLDreZ+0FlVZVoUyfEuSJEmSIpWYEGPUgHSALQJ4wdejBqTH7XnfpWH4jmOTJk0iFott8Wf69OmV+rzfffcdsVjl/1DfcMMNxGIx6tatS+fOnRk/fjxBUH27F0qSJEkqv/7dU5k4qBcpyUWXlqckJzFxUK9qf853nagLqG7y8gNmZS5n6apcWjUJlz1U1qcvZ5xxBieccAKffvopBx54ICtWrACgcePGlfJ8Bdq1a1f4XJXt6KOP5oEHHuD1119n6NChbNiwgT/96U+lum+HDh2YNGkSBx98cOUWKUmSJKlK9O+eSr/0lCrLXFXJ8F0G0+ZlMXpqRpEW+KnJSYwakF4pn8LUq1ePevXq0aRJEwCaNWtW4c9RnISEhCp7rrp169KmTRsGDx5Mbm4uf/rTnxgxYgQJCS7KkCRJkmqjxIQYfTu1jLqMCmfCKaVp87IYMnn2FmfPLcnOZcjk2Uybl1XlNZ199tnccMMNTJ48ma5duzJx4sTC295991323HNPGjZsSJ8+fcjIyABg+vTpdOjQgeeff5727dvTokUL7r777iKPW9yy823db+7cuXTv3p0WLVowbNgwdt11V+66664yfT9HHnkkP/30E9999x0Azz33HF27dqVRo0YcdthhLF68GID+/fsTi8VYsGABhxxyCLFYjBtvvLHwcUq6nyRJkiRFxfBdCnn5AaOnZlDcbuSCsdFTM8jLr/r9yq+88gp33303t9xyC8cddxwA+fn5nHLKKZx00kl8++23HHjggVx99dWF91m2bBnjx4/npZde4v/+7/+46qqryM3d9nl5W7vfRRddxMCBA3nzzTd5+OGHefjhhxk0aFCZvpfU1HD1wNKlS1mxYgWnnXYaw4cP55tvvqFVq1b87W9/A+Df//43K1asoG3btkydOpUVK1YwbNgwgK3eT5IkSZKi4rLzUpiVuXyLGe9NBUBWdi6zMpdX+fKI+fPn8/XXX5OcnFxk/OOPP6Z58+bMnTuXlStX8uWXXxbe9ssvvzBx4kS6detG586dGTp0KD/++CPt27ff6nNt7X5z5sxh0qRJdOnShW7durFw4UL233//Mn0vBbPtQRDQuHFjFixYQHJyMh9++CGrV69m6dKlADRq1AgIl8c3bty4yBL5rd1PkiRJkqJi+C6Fpau2PStclusq0llnnbVF8E5ISOC2227j4YcfpmPHjrRt25a8vLzC25s3b06PHj2AcF85UKou41u73y677MLMmTPZYYcd+Prrr0lPTy/z9/Ljjz8C0Lp1a4Ig4Prrr+f5559nt912o0mTJkW+h5KU936SJEmSVJlcdl4KrZokbfuiMlxXkQpmgTc1ffp0HnroITIyMpg1axZ//OMfi9zetGnTcj1XSfcLgoD09HQuu+wyUlJSGDx4MHvssUeZH//VV18lJSWFtLQ0nnjiCd5//30WLFjAjBkzGDBgwBbXJyQkbPGhQWnuJ0mSJElVzZnvUuiT1oLU5CSWZOcWu+87Rnj2XJ+0FlVdWrFWrVoFwMqVK/n666+58sorK/X87C+//JJ33nmHd999l+TkZNq2bVvq+27YsIFFixbx1ltvcfXVV/OXv/yFWCzGqlWrCIKA5cuX88477/DXv/6VLl26FLlvp06dePXVV9l1113JyMjg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"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 23
  }
 ],
 "metadata": {},
 "nbformat": 4,
 "nbformat_minor": 5
}
